package com.uzai.console.service.wxpub;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.uzai.console.dto.BaseDto;
import com.uzai.console.dto.wxpub.activecode.*;
import com.uzai.console.dto.wxpubmanage.QrcodeDto;
import com.uzai.console.entity.wxpubmanage.WxpubInfoEntity;
import com.uzai.console.vo.wxpub.activecode.WxpubActiveCodeDetailVo;
import com.uzai.console.vo.wxpub.activecode.WxpubActiveCodeVo;

import java.util.List;

/***
 * @author liuqi
 * @date 2021年09月01日 19:26
 */
public interface WxpubActiveCodeService {
    /**
     * 分页查询公众号活码列表
     * @author liuqi
     * @date 2021/8/25 11:38
     * @param wxpubActiveCodeQuery
     * @return null
     */
    Page<WxpubActiveCodeVo> findWxpubActiveCodePage(WxpubActiveCodeQuery wxpubActiveCodeQuery);

    /**
     * 查询公众号活码详情
     * @author liuqi
     * @date 2021/8/25 11:38
     * @param userTypeIdDto
     * @return null
     */
    WxpubActiveCodeVo findWxpubActiveCode(WxpubActiveCodeIdDto userTypeIdDto);

    /**
     * 添加公众号活码
     * @author liuqi
     * @date 2021/8/25 11:38
     * @param wxpubActiveCodeDto
     * @return null
     */
    void addWxpubActiveCode(WxpubActiveCodeDto wxpubActiveCodeDto);

    /**
     * 追加公众号活码
     * @author liuqi
     * @date 2021/8/25 11:38
     * @param wxpubActiveCodeDto
     * @return null
     */
    void additionalWxpubActiveCode(WxpubActiveCodeDto wxpubActiveCodeDto);

    /**
     * 修改活码的公众号
     * @author liuqi
     * @date 2021/8/25 11:38
     * @param updateWxpubDto
     * @return null
     */
    void updateWxpub(UpdateWxpubDto updateWxpubDto);

    /**
     * 修改活码
     * @author liuqi
     * @date 2021/8/25 11:38
     * @param updateActiveCodeNameDto
     * @return null
     */
    void updateActiveCodeName(UpdateActiveCodeNameDto updateActiveCodeNameDto);

    /**
     * 删除活码
     * @author liuqi
     * @date 2021/8/25 11:38
     * @param wxpubActiveCodeIdDto
     * @return null
     */
    void deleteActiveCode(WxpubActiveCodeIdDto wxpubActiveCodeIdDto);

    /**
     * 查询所有公众号活码明细列表
     * @author liuqi
     * @date 2021/8/25 11:38
     * @param wxpubActiveCodeDetailQuery
     * @return null
     */
    Page<WxpubActiveCodeDetailVo> findWxpubActiveCodeDetailPage(WxpubActiveCodeDetailQuery wxpubActiveCodeDetailQuery);

    /**
     * 查询公众号活码明细详情
     * @author liuqi
     * @date 2021/8/25 11:38
     * @param wxpubActiveCodeDetailIdDto
     * @return null
     */
    WxpubActiveCodeDetailVo findWxpubActiveCodeDetail(WxpubActiveCodeDetailIdDto wxpubActiveCodeDetailIdDto);

    /**
     * 修改公众号活码明细详情
     * @author liuqi
     * @date 2021/8/25 11:38
     * @param wxpubActiveCodeDetailDto
     * @return null
     */
    void updateWxpubActiveCodeDetail(WxpubActiveCodeDetailDto wxpubActiveCodeDetailDto);

    /**
     * 修改公众号活码页面排序
     * @author liuqi
     * @date 2021/8/25 11:38
     * @param updatePageOrderDto
     * @return null
     */
    void updatePageOrder(UpdatePageOrderDto updatePageOrderDto);

    /**
     * 删除活码明细
     * @author liuqi
     * @date 2021/8/25 11:38
     * @param wxpubActiveCodeDetailIdDto
     * @return null
     */
    void deleteActiveCodeDetail(WxpubActiveCodeDetailIdDto wxpubActiveCodeDetailIdDto);

    /**
     * 查询公众号列表
     * @author liuqi
     * @date 2021/8/25 11:38
     * @param baseDto
     * @return null
     */
    List<WxpubInfoEntity> findWxpubList(BaseDto baseDto);


    /**
     * 创建带参二维码
     * @author liuqi
     * @date 2021/8/25 11:38
     * @param wxpubActiveCodeIdDto
     * @return null
     */
    String createQrcode(WxpubActiveCodeIdDto wxpubActiveCodeIdDto);

}
